Structured light 3D scanner systems basically functioning the same way have been described in the prior art. They basically function as described in FIG. 1, wherein a monochromatic or multi spectral light pattern 101, such as laser dots, laser lines, white or colored strips, is projected from a light source 102 onto the object 103. The projected light is then reflected 104 and one or more cameras 105 acquire(s) images of the projection. The light pattern is detected in the image and well established projection geometry such as triangulation or stereo is used to derive the 3D coordinates, e.g. a line laser is projected onto the object forming a line. The 3D coordinates are then reconstructed along that particular line. The scanner may contain one or more light sources/patterns and one or more cameras.
The next step is then to move the object and scanner relative to each other e.g. by rotation 106 or linear motion 107 of the object 103. This way the scanner can reconstruct the surface on a new part of the object, e.g. a new line on the surface in the line laser example. The scanners in the prior art have the motion manually programmed in a predefined scan sequence or the object/scanner is simply manually moved around.
An inherited problem with structured light 3D scanning is that both camera and light pattern need to “see” each surface point at the same time to be able to make a 3D reconstruction of that particular point. This leads to “occluded” or uncovered areas which appear as surface holes in the final scan, i.e. areas without surface measurement information. Holes in the scan are in most cases undesirable or unacceptable both from a visual and application point of view.
The problem is illustrated in FIG. 2, where the point cloud 2a of the initial scan of a toy bear is shown. The initial scan is performed by a predefined scan sequence of two rotation scans. When the surface model 2b is created the uncovered areas appear as holes e.g. 204. Adaptive scanning is then used to make a scan sequence that scans the holes in an additional scan. In fact two holes 205 have already been adaptively scanned and covered by new points. After the first adaptive scan a single hole 206 is still present in the surface model 2c of the merged result of the initial and adaptive scan. A second adaptive scan is then performed and full coverage is obtained 2d. 
In the prior art the occlusion problem is attempted to be solved by manually definition of complex scan sequences and constraints on how the object is positioned in the scanner. However long and time consuming scan sequences is required to cover just simple shapes or objects with moderate shape variation. In the case of objects with varying shapes this does still not guarantee full coverage. Another problem is that the creation of the scan sequences can be very cumbersome and requires expert knowledge.
To fix the problem with uncovered areas some commercial scanners artificially close the holes in the scan using the surface information around the hole. The artificial hole closing might be performed by fitting parametric surface such as spline surface or second order surfaces. Artificial hole closing might give visually pleasant results, but the accuracy is very low, which is unacceptable for most application.